package cn.iftrue.japidemo.system.entity;

import java.time.LocalDateTime;

import com.baomidou.mybatisplus.extension.activerecord.Model;

import java.io.Serializable;

import io.swagger.annotations.ApiModelProperty;

/**
 * 菜单表(SysMenu)表实体类
 *
 * @author admin
 * @since 2021-04-20 10:30:07
 */
@SuppressWarnings("serial")
public class SysMenu extends Model<SysMenu> {
    private Long id;

    /**
     * 上级功能
     */
    @ApiModelProperty(value = "上级功能")
    private Long pid;

    /**
     * 名称
     */
    @ApiModelProperty(value = "名称")
    private String menuName;

    /**
     * 类型 1：目录 2：菜单 3：按钮
     */
    @ApiModelProperty(value = "类型 1：目录 2：菜单 3：按钮")
    private Byte funType;

    /**
     * 图标
     */
    @ApiModelProperty(value = "图标")
    private String icon;

    /**
     * 排序
     */
    @ApiModelProperty(value = "排序")
    private Integer orderIndex;

    /**
     * 是否外链
     */
    @ApiModelProperty(value = "是否外链")
    private Byte isLink;

    /**
     * 路由地址
     */
    @ApiModelProperty(value = "路由地址")
    private String url;

    /**
     * 权限标识
     */
    @ApiModelProperty(value = "权限标识")
    private String sign;

    /**
     * 是否可见
     */
    @ApiModelProperty(value = "是否可见")
    private Byte isVisible;

    /**
     * 状态 0：停用 1：正常
     */
    @ApiModelProperty(value = "状态 0：停用 1：正常")
    private Byte status;

    /**
     * 是否缓存
     */
    @ApiModelProperty(value = "是否缓存")
    private Byte isCached;

    /**
     * 创建时间
     */
    @ApiModelProperty(value = "创建时间")
    private LocalDateTime createTime;

    /**
     * 更新时间
     */
    @ApiModelProperty(value = "更新时间")
    private LocalDateTime updateTime;


    public Long getId() {
        return id;
    }

    public void setId(Long id) {
        this.id = id;
    }

    public Long getPid() {
        return pid;
    }

    public void setPid(Long pid) {
        this.pid = pid;
    }

    public String getMenuName() {
        return menuName;
    }

    public void setMenuName(String menuName) {
        this.menuName = menuName;
    }

    public Byte getFunType() {
        return funType;
    }

    public void setFunType(Byte funType) {
        this.funType = funType;
    }

    public String getIcon() {
        return icon;
    }

    public void setIcon(String icon) {
        this.icon = icon;
    }

    public Integer getOrderIndex() {
        return orderIndex;
    }

    public void setOrderIndex(Integer orderIndex) {
        this.orderIndex = orderIndex;
    }

    public Byte getIsLink() {
        return isLink;
    }

    public void setIsLink(Byte isLink) {
        this.isLink = isLink;
    }

    public String getUrl() {
        return url;
    }

    public void setUrl(String url) {
        this.url = url;
    }

    public String getSign() {
        return sign;
    }

    public void setSign(String sign) {
        this.sign = sign;
    }

    public Byte getIsVisible() {
        return isVisible;
    }

    public void setIsVisible(Byte isVisible) {
        this.isVisible = isVisible;
    }

    public Byte getStatus() {
        return status;
    }

    public void setStatus(Byte status) {
        this.status = status;
    }

    public Byte getIsCached() {
        return isCached;
    }

    public void setIsCached(Byte isCached) {
        this.isCached = isCached;
    }

    public LocalDateTime getCreateTime() {
        return createTime;
    }

    public void setCreateTime(LocalDateTime createTime) {
        this.createTime = createTime;
    }

    public LocalDateTime getUpdateTime() {
        return updateTime;
    }

    public void setUpdateTime(LocalDateTime updateTime) {
        this.updateTime = updateTime;
    }

    /**
     * 获取主键值
     *
     * @return 主键值
     */
    @Override
    protected Serializable pkVal() {
        return this.id;
    }
}
